home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / OTHER.IN_ / other.inf
INI File  |  1996-07-12  |  23KB  |  622 lines

  1. [Options]
  2.     Computer            = cpt
  3.     Video               = vio
  4.     Layout              = lay
  5.     Language            = lng
  6.     Printer             = prn
  7.     Sound               = snd
  8.     Driver              = drv
  9.     NetAdapter          = nad
  10.     NetDriver           = ndr
  11.     NetTransport        = nxp
  12.     NetService          = nsv
  13.     Network             = nwk
  14.     NetProvider         = npr
  15. [OemOptionFiles]
  16.     OemFiles = {} ? $(!LIBHANDLE) FindFileInstances $(!STF_WINDOWSSYSPATH)"\oem"$(Abb)"*.inf"
  17. [DetectFileTime]
  18.     FileDateTime = {"0","0"} ? $(!LIBHANDLE) GetFileLastWriteTime $(!STF_WINDOWSSYSPATH)"\"$(FileDateTimeName)
  19. [ReturnOemOptions]
  20.     set Status         = STATUS_FAILED
  21.     set OemOptionList  = {}
  22.     set FromNetwork    = $($2)
  23.     set AllChars       = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789."
  24.     set Numerals      = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }
  25.     set Abb = #(Options, $($1), 1)
  26.     read-syms OemOptionFiles
  27.     detect OemOptionFiles
  28.     ifcontains(i) "oemnadzz.inf" in $(OemFiles)
  29.         set newList = {"oemnadzz.inf"}
  30.         ForListDo $(OemFiles)
  31.             ifstr(i) $($) != "oemnadzz.inf"
  32.                 set newList = >($(newList),$($))
  33.             endif
  34.         EndForListDo
  35.         set OemFiles = $(newList)
  36.     endif
  37.     debug-output $(OemFiles)
  38.     set TotalOptions = {}
  39.     ForListDo $(OemFiles)
  40.         set fExclude = ""
  41.         Split-String $($) $(AllChars) InfNameChars
  42.         ifcontains(i) *($(InfNameChars), 7) in $(Numerals)
  43.             set fExclude = $(FromNetwork)
  44.         endif
  45.         ifstr(i) $(fExclude) == ""
  46.             set OemFileName = $(!STF_WINDOWSSYSPATH)"\"$($)
  47.             ifstr(i) $(FromNetwork) == ""
  48.                 shell "", GetOptionsFromINF $($0) $($1) $(OemFileName)
  49.             else
  50.                 shell "", GetNetworkOptionsFromINF $($0) $($1) $(OemFileName)
  51.             endif
  52.             set CurrentInf = $($)
  53.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  54.                 set Index = 0
  55.                 set ReturnOption = $($R1)
  56.                 set ReturnOptionText = $($R2)
  57.                 ForListDo $(ReturnOption)
  58.                     set-add Index = $(Index), 1
  59.                     ifcontains(i) $($) not-in $(TotalOptions)
  60.                         set OemOptionList = >($(OemOptionList), {$(CurrentInf), $($), *($(ReturnOptionText),$(Index))})
  61.                         set TotalOptions = >($(TotalOptions), $($))
  62.                     endif
  63.                 EndForListDo
  64.             endif
  65.         endif
  66.     EndForListDo
  67.     set Status = STATUS_SUCCESSFUL
  68. finish_GetCurrentOemOptions = +
  69.     Return $(Status) $(OemOptionList)
  70. [GetNetworkOptionsFromINF]
  71.     set Status         = STATUS_FAILED
  72.     set OptionList     = {}
  73.     set OptionTextList = {}
  74.     set FileToCheck = $($2)
  75.     install Install-SeeIfFileIsPresent
  76.     ifstr(i) $(STATUS) != "YES"
  77.         set Status = STATUS_INFNOTFOUND
  78.         goto finish_GetNetworkOptionsFromINF
  79.     endif
  80.     Shell "" GetOptionsFromRegistry $($1) $($2)
  81.     ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  82.         set  OptionList     = $($R1)
  83.         set  OptionTextList = $($R2)
  84.         set  Status         = STATUS_SUCCESSFUL
  85.         goto finish_GetNetworkOptionsFromINF
  86.     endif
  87.     shell $($2) Identify
  88.     ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  89.         ifstr(i) $($R1) == $($1)
  90.             set OptionList = {}
  91.             set OptionTextList = {}
  92.             forlistdo $(!STF_BUSTYPELIST)
  93.                 shell $($2) ReturnOptions $($0) $($)
  94.                 ifstr(i) $($R0) == STATUS_SUCCESSFUL
  95.                     set Index = 0
  96.                     set ReturnOption = $($R1)
  97.                     set ReturnOptionText = $($R2)
  98.                     ForListDo $(ReturnOption)
  99.                         set-add Index = $(Index), 1
  100.                         ifstr(i) $(OptionList) == {}
  101.                             set OptionList = {$($)}
  102.                             set OptionTextList = {*($(ReturnOptionText),$(Index))}
  103.                         else
  104.                             ifcontains(i) $($) not-in $(OptionList)
  105.                                 set OptionList = >($(OptionList),$($))
  106.                                 set OptionTextList = >($(OptionTextList),*($(ReturnOptionText),$(Index)))
  107.                             endif
  108.                         endif
  109.                     EndForListDo
  110.                     set  Status         = STATUS_SUCCESSFUL
  111.                 endif
  112.             endforlistdo
  113.             ifstr(i) $(OptionList) != ""
  114.                 Shell "" SetOptionsIntoRegistry $($1) $($2) $(OptionList) $(OptionTextList)
  115.             endif
  116.         endif
  117.     endif
  118. finish_GetNetworkOptionsFromINF = +
  119.     Return $(Status) $(OptionList) $(OptionTextList)
  120. [GetOptionsFromINF]
  121.     set Status         = STATUS_FAILED
  122.     set OptionList     = {}
  123.     set OptionTextList = {}
  124.     set FileToCheck = $($2)
  125.     install Install-SeeIfFileIsPresent
  126.     ifstr(i) $(STATUS) != "YES"
  127.         set Status = STATUS_INFNOTFOUND
  128.         goto finish_GetOptionsFromINF
  129.     endif
  130.     Shell "" GetOptionsFromRegistry $($1) $($2)
  131.     ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  132.         set  OptionList     = $($R1)
  133.         set  OptionTextList = $($R2)
  134.         set  Status         = STATUS_SUCCESSFUL
  135.         goto finish_GetOptionsFromINF
  136.     endif
  137.     shell $($2) Identify
  138.     ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  139.         ifstr(i) $($R1) == $($1)
  140.             set OptionList = ""
  141.             shell $($2) ReturnOptions $($0) $($)
  142.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  143.                  set  OptionList     = $($R1)
  144.                  set  OptionTextList = $($R2)
  145.                  set  Status         = STATUS_SUCCESSFUL
  146.             endif
  147.             ifstr(i) $(OptionList) != ""
  148.                 Shell "" SetOptionsIntoRegistry $($1) $($2) $(OptionList) $(OptionTextList)
  149.             endif
  150.         endif
  151.     endif
  152. finish_GetOptionsFromINF = +
  153.     Return $(Status) $(OptionList) $(OptionTextList)
  154. [GetNewOEMOption]
  155.     set Status            = STATUS_FAILED
  156.     set Option            = $($2)
  157.     set OptDisketteSrc    = $($3)
  158.     set OptionalDlgText   = $($4)
  159.     set OptDiskette       = #(OptionDiskettes$($0), $($2), 1)
  160.     set InfName1          = "OEMSETUP.INF"
  161.     set InfName2          = "OEMSETNT.INF"
  162.     set Abb = #(Options, $(Option), 1)
  163.     set NewOemOptionList  = $($1)
  164.     set OptionChosen      = ""
  165.     set OptionChosenText  = ""
  166. ask_dodiskette = +
  167.     set InfName = $(InfName1)
  168.     shell "" DoDiskette $($0) $(OptDiskette) $(OptDisketteSrc)
  169.     set Status = STATUS_FAILED
  170.     ifstr(i) $($R0) == STATUS_USERCANCEL
  171.         set Status = STATUS_USERCANCEL
  172.         goto finish_GetOEMOption
  173.     else-ifstr(i) $($R0) == STATUS_FAILED
  174.         goto finish_GetOEMOption
  175.     endif
  176.     set OptDisketteSrc = $($R1)
  177. ask_inf_retry = +
  178.     FlushInf $(InfName)
  179.     LibraryProcedure FileToCheck, $(!LIBHANDLE), AppendBackSlash $(OptDisketteSrc)
  180.     set FileToCheck = $(FileToCheck)$(InfName)
  181.     install Install-SeeIfFileIsPresent
  182.     set OemSetupFilePath = $(FileToCheck)
  183.     set NfError = 1
  184.     ifstr(i) $(STATUS) == YES
  185.         set NfError = 2
  186.         shell $(OemSetupFilePath) Identify
  187.         ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  188.             ifstr(i) $($R1) == $(Option)
  189.                 ForListDo $(!STF_BUSTYPELIST)
  190.                     shell $(OemSetupFilePath) ReturnOptions $($0) $($)
  191.                     ifstr(i) $($R0) == STATUS_SUCCESSFUL
  192.                          set OemList     = $($R1)
  193.                          set OemTextList = $($R2)
  194.                          goto asksingleselection
  195.                     endif
  196.                 EndForListDo
  197.             endif
  198.         endif
  199.     endif
  200.     ifstr(i) $(InfName) == $(InfName1)
  201.         Set InfName = $(InfName2)
  202.         goto ask_inf_retry
  203.     endif
  204.     read-syms NonFatalError$(NfError)$($0)
  205.     shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(NonFatal)
  206.     goto ask_dodiskette
  207. asksingleselection = +
  208.     shell "" DoSingleOption $(OemList) $(OemTextList) $(OptDiskette) $(OptionalDlgText)
  209.     ifstr(i) $($R0) == STATUS_FAILED
  210.         set Status = STATUS_FAILED
  211.         goto finish_GetOEMOption
  212.     else-ifstr(i) $($R0) == STATUS_USERCANCEL
  213.         set Status = STATUS_USERCANCEL
  214.         goto finish_GetOEMOption
  215.     endif
  216.     set OptionChosen     = $($R1)
  217.     set OptionChosenText = $($R2)
  218.     set Duplicate = FALSE
  219.     ForListDo $($1)
  220.         ifstr(i) *($($), 2) == $(OemList)
  221.             set OemFileName = *($($), 1)
  222.             set Duplicate = TRUE
  223.             FlushInf $(OemFileName)
  224.             goto copyinf
  225.         endif
  226.     EndForListDo
  227.     set Num = 0
  228. nextinf = +
  229.     ifint $(Num) < 99
  230.         set OemFileName = "oem"$(Abb)$(Num)".inf"
  231.         set FileToCheck = $(!STF_WINDOWSSYSPATH)"\"$(OemFileName)
  232.         install Install-SeeIfFileIsPresent
  233.         ifstr(i) $(STATUS) == "YES"
  234.             set-add Num = $(Num) 1
  235.             goto nextinf
  236.         else
  237.             goto copyinf
  238.         endif
  239.     endif
  240.     goto finish_GetOEMOption
  241. copyinf = +
  242.     set OemSrc = $(OemSetupFilePath)
  243.     set OemDst = $(!STF_WINDOWSSYSPATH)"\"$(OemFileName)
  244.     install Install-OemINF
  245.     ifstr(i) $(Duplicate) == TRUE
  246.     else
  247.         set NewOemOptionList = >($(NewOemOptionList), {$(OemFileName), $(OemList), $(OemTextList)})
  248.     endif
  249.     set Status = STATUS_SUCCESSFUL
  250. finish_GetOEMOption = +
  251.     FlushInf $(InfName)
  252.     Return $(Status) $(NewOemOptionList) $(OptionChosen) $(OptionChosenText) $(OptDisketteSrc)
  253. [GetNewOEMMultiOption]
  254.     Debug-Output $(STF_CONTEXTINFNAME)": GetNewOEMMultiOption called"
  255.     set Status            = STATUS_FAILED
  256.     set OptionType        = ""
  257.     set OptionTypeList    = $($2)
  258.     set OptDisketteSrc    = $($3)
  259.     set OptionalDlgText   = $($4)
  260.     set InfName1          = "OEMSETUP.INF"
  261.     set InfName2          = "OEMSETNT.INF"
  262.     read-syms OptionDisketteMulti$($0)
  263.     Set TypeNames = ^(Options,0)
  264.     Set TypeAbbs  = ^(Options,1)
  265.     set NewOemOptionList  = $($1)
  266.     set OptionChosen      = ""
  267.     set OptionChosenText  = ""
  268. m_ask_dodiskette = +
  269.     Debug-Output $(STF_CONTEXTINFNAME)": GetNewOEMMultiOption shelling DoDiskette"
  270.     set InfName = $(InfName1)
  271.     shell "" DoDiskette $($0) $(OptDiskette) $(OptDisketteSrc)
  272.     set Status = STATUS_FAILED
  273.     ifstr(i) $($R0) == STATUS_USERCANCEL
  274.         set Status = STATUS_USERCANCEL
  275.         goto m_finish_GetOEMOption
  276.     else-ifstr(i) $($R0) == STATUS_FAILED
  277.         goto m_finish_GetOEMOption
  278.     endif
  279.     set OptDisketteSrc = $($R1)
  280. m_ask_inf_retry = +
  281.     FlushInf $(InfName)
  282.     LibraryProcedure FileToCheck, $(!LIBHANDLE), AppendBackSlash $(OptDisketteSrc)
  283.     set FileToCheck = $(FileToCheck)$(InfName)
  284.     install Install-SeeIfFileIsPresent
  285.     set OemSetupFilePath = $(FileToCheck)
  286.     set NfError = 1
  287.     ifstr(i) $(STATUS) == YES
  288.         set NfError = 2
  289.         shell $(OemSetupFilePath) Identify
  290.         ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  291.             ifcontains(i) $($R1) in $(OptionTypeList)
  292.                 Set OptionType = $($R1)
  293.                 ForListDo $(!STF_BUSTYPELIST)
  294.                     shell $(OemSetupFilePath) ReturnOptions $($0) $($)
  295.                     ifstr(i) $($R0) == STATUS_SUCCESSFUL
  296.                          set OemList     = $($R1)
  297.                          set OemTextList = $($R2)
  298.                          goto m_asksingleselection
  299.                     endif
  300.                 EndForListDo
  301.             endif
  302.         endif
  303.     endif
  304.     ifstr(i) $(InfName) == $(InfName1)
  305.         Set InfName = $(InfName2)
  306.         goto m_ask_inf_retry
  307.     endif
  308.     read-syms NonFatalError$(NfError)$($0)
  309.     shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(NonFatal)
  310.     goto m_ask_dodiskette
  311. m_asksingleselection = +
  312.     shell "" DoSingleOption $(OemList) $(OemTextList) $(OptDiskette) $(OptionalDlgText)
  313.     ifstr(i) $($R0) == STATUS_FAILED
  314.         set Status = STATUS_FAILED
  315.         goto m_finish_GetOEMOption
  316.     else-ifstr(i) $($R0) == STATUS_USERCANCEL
  317.         set Status = STATUS_USERCANCEL
  318.         goto m_finish_GetOEMOption
  319.     endif
  320.     set OptionChosen     = $($R1)
  321.     set OptionChosenText = $($R2)
  322.     set Duplicate = FALSE
  323.     ForListDo $($1)
  324.         ifstr(i) *($($), 2) == $(OemList)
  325.             set OemFileName = *($($), 1)
  326.             set Duplicate = TRUE
  327.             FlushInf $(OemFileName)
  328.             goto m_copyinf
  329.         endif
  330.     EndForListDo
  331.     set Num = 0
  332.     Set Abb = *($(TypeAbbs),~($(TypeNames),$(OptionType)))
  333. m_nextinf = +
  334.     ifint $(Num) < 99
  335.         set OemFileName = "oem"$(Abb)$(Num)".inf"
  336.         Debug-Output "OTHER.INF: Checking winsyspath for "$(OemFileName)
  337.         set FileToCheck = $(!STF_WINDOWSSYSPATH)"\"$(OemFileName)
  338.         install Install-SeeIfFileIsPresent
  339.         ifstr(i) $(STATUS) == "YES"
  340.             set-add Num = $(Num) 1
  341.             goto m_nextinf
  342.         else
  343.             goto m_copyinf
  344.         endif
  345.     endif
  346.     goto m_finish_GetOEMOption
  347. m_copyinf = +
  348.     set OemSrc = $(OemSetupFilePath)
  349.     set OemDst = $(!STF_WINDOWSSYSPATH)"\"$(OemFileName)
  350.     install Install-OemINF
  351.     ifstr(i) $(Duplicate) == TRUE
  352.     else
  353.         set NewOemOptionList = >($(NewOemOptionList), {$(OemFileName), $(OemList), $(OemTextList)})
  354.     endif
  355.     set Status = STATUS_SUCCESSFUL
  356. m_finish_GetOEMOption = +
  357.     FlushInf $(InfName)
  358.     Return $(Status) $(NewOemOptionList) $(OptionChosen) $(OptionChosenText) $(OptDisketteSrc)
  359. [DoDiskette]
  360.     set Status         = STATUS_FAILED
  361.     set OemDiskette    = $($1)
  362.     set OemDisketteSrc = $($2)
  363.     Debug-Output $(STF_CONTEXTINFNAME)": DoDiskette called"
  364.     read-syms DisketteDlg$($0)
  365.     ui start "Diskette"
  366.     ifstr(i) $(DLGEVENT) == "CONTINUE"
  367.         set OemDisketteSrc = $(EditTextOut)
  368.         ui pop 1
  369.         set Status = STATUS_SUCCESSFUL
  370.         goto finish_dodiskette
  371.     else-ifstr(i) $(DLGEVENT) == "BACK"
  372.         ui pop 1
  373.         set Status = STATUS_USERCANCEL
  374.         goto finish_dodiskette
  375.     else
  376.         ui pop 1
  377.         goto finish_dodiskette
  378.     endif
  379. finish_dodiskette = +
  380.     Return $(Status) $(OemDisketteSrc)
  381. [DoSingleOption]
  382.     set Status              = STATUS_FAILED
  383.     set OemOptionChosen     = ""
  384.     set OemOptionChosenText = ""
  385.     set OemOptionList       = $($0)
  386.     set OemOptionTextList   = $($1)
  387.     set OemOptionTypeText   = $($2)
  388.     read-syms OemSingleOptionDlg$(!STF_LANGUAGE)
  389.     ifstr(i) $($3) != ""
  390.         set DlgText = $($3)
  391.     endif
  392.     ui start "Diskette"
  393.     ifstr(i) $(DLGEVENT) == "CONTINUE"
  394.         ui pop 1
  395.         ifstr(i) $(ListItemsOut) == ""
  396.             set Status = STATUS_USERCANCEL
  397.         else
  398.             set OemOptionChosenText = $(ListItemsOut)
  399.             set OemOptionChosen = *($($0), ~($(ListItemsIn), $(ListItemsOut)))
  400.             set Status = STATUS_SUCCESSFUL
  401.         endif
  402.         goto finish_dosingleoption
  403.     else-ifstr(i) $(DLGEVENT) == "BACK"
  404.         ui pop 1
  405.         set Status = STATUS_USERCANCEL
  406.         goto finish_dosingleoption
  407.     else
  408.         ui pop 1
  409.         set Status = STATUS_FAILED
  410.         goto finish_dosingleoption
  411.     endif
  412. finish_dosingleoption = +
  413.     Return $(Status) $(OemOptionChosen) $(OemOptionChosenText)
  414. [GetOptionsFromRegistry]
  415.    Set InfType        = $($0)
  416.    Set InfFullName    = $($1)
  417.    Set Status         = STATUS_FAILED
  418.    Set OptionList     = {}
  419.    Set OptionTextList = {}
  420.    Set KeyInf         = ""
  421.    Set KeyType        = ""
  422.    Set RegLastError   = $(!REG_ERROR_SUCCESS)
  423.    Ifstr(i) $(!STF_BUSTYPE) == ""
  424.        goto finish_getregoptions
  425.    Endif
  426.    Split-String $(InfFullName) "\" NameInfo
  427.    QueryListSize NameInfoListSize $(NameInfo)
  428.    Set InfName = *($(NameInfo),$(NameInfoListSize))
  429.    Set KeyName = "Software\Microsoft\Ncpa\InfOptions\"$(InfName)
  430.    OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_READ) KeyInf
  431.    Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  432.       goto finish_getregoptions
  433.    Endif
  434.    Set FileDateTimeName = $(InfName)
  435.    Detect DetectFileTime
  436.    Set TimeLow = *($(FileDateTime),1)
  437.    Ifint $(TimeLow) == 0
  438.        goto finish_getregoptions
  439.    Endif
  440.    GetRegValue $(KeyInf) DateLow  ValueRegTimeLow
  441.    Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  442.       goto finish_getregoptions
  443.    Endif
  444.    Set RegTimeLow  = *($(ValueRegTimeLow),4)
  445.    Ifint $(TimeLow) != $(RegTimeLow)
  446.        goto finish_getregoptions
  447.    Endif
  448.    ForListDo $(!STF_BUSTYPELIST)
  449.        Set TypeKeyName = $(InfType)"."$($)
  450.        OpenRegKey $(KeyInf) "" $(TypeKeyName) $(!REG_KEY_READ) KeyType
  451.        ifint $(RegLastError) == $(!REG_ERROR_SUCCESS )
  452.           goto findit
  453.        endif
  454.    EndForListDo
  455.    Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  456.       Set Status = STATUS_SUCCESSFUL
  457.       goto finish_getregoptions
  458.    Endif
  459. findit = +
  460.    GetRegValue $(KeyType) OptionList ValueOptionList
  461.    Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  462.       goto finish_getregoptions
  463.    Endif
  464.    Set OptionList = *($(ValueOptionList),4)
  465.    GetRegValue $(KeyType) OptionTextList ValueOptionTextList
  466.    Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  467.       goto finish_getregoptions
  468.    Endif
  469.    Set OptionTextList = *($(ValueOptionTextList),4)
  470.    Set Status = STATUS_SUCCESSFUL
  471. finish_getregoptions =+
  472.    Ifstr(i) $(Status) != STATUS_SUCCESSFUL
  473.        Set OptionList = {}
  474.        Set OptionTextList = {}
  475.    Endif
  476.    Ifstr(i) $(KeyType) != ""
  477.       CloseRegKey  $(KeyType)
  478.    Endif
  479.    Ifstr(i) $(KeyInf) != ""
  480.       CloseRegKey  $(KeyInf)
  481.    Endif
  482.    return $(Status) $(OptionList) $(OptionTextList)
  483. [SetOptionsIntoRegistry]
  484.     Debug-Output "OTHER.INF: SetOptionsIntoRegistry - Entry "$($0)", "$($1)", "$($2)", "$($3)
  485.     Set OptionType     = $($0)
  486.     Set InfFullName    = $($1)
  487.     Set OptionList     = $($2)
  488.     Set OptionTextList = $($3)
  489.     Set MaskAllAccess  = 33554432
  490.     Set NoTitle        = 0
  491.     Set RegLastError   = $(!REG_ERROR_SUCCESS)
  492.     Set Status         = STATUS_FAILED
  493.     Set KeyInf         = ""
  494.     Ifstr(i) $(!STF_BUSTYPE) == ""
  495.         goto finish_setregoptions
  496.     Endif
  497.     Split-String $(InfFullName) "\" NameInfo
  498.     QueryListSize NameInfoListSize $(NameInfo)
  499.     Set InfName = *($(NameInfo),$(NameInfoListSize))
  500.     Set KeyInfName     = "SOFTWARE\Microsoft\Ncpa\InfOptions\"$(InfName)
  501.     Set KeyOptName     = $(OptionType)"."$(!STF_BUSTYPE)
  502.     Set FileDateTimeName = $(InfName)
  503.     Detect DetectFileTime
  504.     Set TimeLsw = *($(FileDateTime),1)
  505.     Ifint $(TimeLsw) == 0
  506.         goto finish_setregoptions
  507.     Endif
  508.     Set KeyInfo = {$(KeyInfName),$(NoTitle),""}
  509.     OpenRegKey $(!REG_H_LOCAL) "" $(KeyInfName) $(MaskAllAccess) KeyInf
  510.     ifstr(i) $(KeyInf) == ""
  511.         CreateRegKey $(!REG_H_LOCAL) $(KeyInfo) "" $(MaskAllAccess) "" KeyInf
  512.         Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  513.             Debug-Output "OTHER.INF: SetOptionsIntoRegistry - Reg Error"$(KeyInfo)
  514.             goto finish_setregoptions
  515.         Endif
  516.     Endif
  517.     Set KeyInfo = {$(KeyOptName),$(NoTitle),""}
  518.     OpenRegKey $(KeyInf) "" $(KeyOptName) $(MaskAllAccess) KeyType
  519.     ifstr(i) $(KeyType) == ""
  520.         CreateRegKey $(KeyInf) $(KeyInfo) "" $(MaskAllAccess) "" KeyType
  521.         Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  522.             Debug-Output "OTHER.INF: SetOptionsIntoRegistry - Reg Error"$(KeyInfo)
  523.             goto finish_setregoptions
  524.         Endif
  525.     Endif
  526.     Set ValueInfo = {DateLow, $(NoTitle), $(!REG_VT_DWORD), $(TimeLsw)}
  527.     SetRegValue $(KeyInf) $(ValueInfo)
  528.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  529.         goto finish_setregoptions
  530.     Endif
  531.     Set ValueInfo = {OptionList, $(NoTitle), $(!REG_VT_MULTI_SZ), $(OptionList)}
  532.     SetRegValue $(KeyType) $(ValueInfo)
  533.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  534.         goto finish_setregoptions
  535.     Endif
  536.     Set ValueInfo = {OptionTextList, $(NoTitle), $(!REG_VT_MULTI_SZ), $(OptionTextList)}
  537.     SetRegValue $(KeyType) $(ValueInfo)
  538.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  539.         goto finish_setregoptions
  540.     Endif
  541.     Set Status = STATUS_SUCCESSFUL
  542. finish_setregoptions =+
  543.    Ifstr(i) $(KeyType) != ""
  544.        CloseRegKey  $(KeyType)
  545.        Ifstr(i) $(Status) != STATUS_SUCCESSFUL
  546.            DeleteRegTree $(KeyOptName)
  547.        Endif
  548.    Endif
  549.    Ifstr(i) $(KeyInf) != ""
  550.       CloseRegKey  $(KeyInf)
  551.    Endif
  552.    Debug-Output "OTHER.INF: SetOptionsIntoRegistry - Exit "$(Status)
  553.    return $(Status)
  554. [Install-SeeIfFileIsPresent]
  555. LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(FileToCheck)
  556. exit
  557. [Install-OemINF]
  558. LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(OemSrc) $(OemDst)
  559. exit
  560. [LanguagesSupported]
  561.     ENG
  562. [OptionDiskettesENG]
  563.     Computer     = "Computer Driver"
  564.     Video        = "Display Driver"
  565.     Layout       = "Keyboard Layout"
  566.     Language     = "Language Driver"
  567.     Printer      = "Printer Driver"
  568.     Sound        = "Sound Driver"
  569.     Driver       = "Driver"
  570.     NetAdapter   = "Network Adapter"
  571.     NetDriver    = "Network Driver"
  572.     NetTransport = "Network Transport"
  573.     NetService   = "Network Service"
  574.     Network      = "Network"
  575.     NetProvider  = "Network Provider"
  576. [OptionDisketteMultiENG]
  577.     OptDiskette = "software"
  578. [DisketteDlgENG]
  579.     Caption        = "Insert Disk"
  580.     DlgText        = "Insert disk with "$(OemDiskette)" provided by the "+
  581.                      "software or hardware manufacturer.  If the files can be found at "+
  582.                      "a different location, for example on another drive "+
  583.                      "type a new path to the files below."
  584.     Continue       = "OK"
  585.     Cancel         = "Cancel"
  586.     DlgType        = "Edit"
  587.     DlgTemplate    = "DISKETTE"
  588.     Edit1Label     = ""
  589.     EditTextIn     = $(OemDisketteSrc)
  590.     EditFocus      = "ALL"
  591. [OemSingleOptionDlgENG]
  592.     Caption        = "Select OEM Option"
  593.     DlgText        = "Choose a "$(OemOptionTypeText)" supported by this hardware "+
  594.                      "manufacturer's disk."
  595.     Continue       = "OK"
  596.     Cancel         = "Cancel"
  597.     Help           = "&Help"
  598.     DlgType        = List
  599.     DlgTemplate    = "OEMSINGLESEL"
  600.     HelpContext    = $(!IDH_DB_OEMSINGLESEL_INS)
  601.     ListItemsIn    = $(OemOptionTextList)
  602.     ListItemsOut   = *($(OemOptionTextList),1)
  603. [OemMultiOptionENG]
  604.     Caption        = "Select OEM Option(s)"
  605.     DlgText        = "Choose "$(DeviceOem)"(s) supported by this hardware "+
  606.                      "manufacturer's disk."
  607.     Continue       = "OK"
  608.     Cancel         = "Cancel"
  609.     Help           = "&Help"
  610.     DlgType        = List
  611.     DlgTemplate    = "OEMMULTISEL"
  612.     HelpContext    = $(!IDH_DB_OEMMULTISEL_INS)
  613.     ListItemsIn    = $(OemTextList)
  614.     ListItemsOut   = {}
  615. [NonFatalError1ENG]
  616. NonFatal = "Setup cannot find OEMSETUP.INF or OEMSETNT.INF."$(!LF)$(!LF)+
  617.            "Please type a new path to the OEMSETUP.INF file."
  618. [NonFatalError2ENG]
  619. NonFatal = "The OEMSETUP.INF or OEMSETNT.INF file found is not valid "+
  620.            "for the current option."$(!LF)$(!LF)+
  621.            "Please type a new path to the OEMSETUP.INF file."
  622.